View Javadoc

1   package uba.db.sql.language;
2   
3   /***
4    * Comportamiento de los criterios de seleccón compuestos por dos expresiones
5    * (como <i>criterioDeSeleccion1 AND criterioDeSeleccion2</i>).
6    * 
7    * @version $Revision: 1.6 $
8    */
9   public abstract class BinarySelectionCriteriaBehavior extends SelectionCriteriaBehavior {
10      private SelectionCriteria left;
11      private SelectionCriteria right;
12  
13      /***
14       * Las sub-clases deben invocar a este constructor para indicar los
15       * terminos a ambos lados del operador.
16       * 
17       * @param left termino de la izquierda.
18       * @param right termino de la derecha.
19       */
20      public BinarySelectionCriteriaBehavior(SelectionCriteria left, SelectionCriteria right) {
21          this.left = left;
22          this.right = right;
23      }
24  
25      /***
26       * @see java.lang.Object#toString()
27       */
28      public String toString() {
29          return "(" + left.toString() + operatorAsString() + right.toString() + ")";
30      }
31  
32      /***
33       * Retorna el termino a la izquierda.
34       */
35      public SelectionCriteria left() {
36          return left;
37      }
38  
39      /***
40       * Retorna el termino a la derecha.
41       */
42      public SelectionCriteria right() {
43          return right;
44      }
45  
46      /***
47       * Las subclases deben implementar este método retornando la representacion
48       * en String del operador que representan.
49       */
50      protected abstract String operatorAsString();
51  }